package br.com.sigupper.entidades;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.OneToMany;
import javax.persistence.OneToOne;
import javax.persistence.Table;

import br.com.sigupper.util.IGenericCrud;

@Entity
@Table(name="fornecedor")
public class Fornecedor  implements IGenericCrud {

	@Id
	@GeneratedValue
	@Column(name="fornecedor_id")
    private Integer forneId;
	
	@Column(name="fornecedor_fantasia",nullable=false,length=150)
	private String forneFantasia;
    
	@Column(name="fornecedor_cnpj",nullable=false,length=150)
	private String forneCnpj;
	
	@Column(name="fornecedor_categoria",length=100)
    private String forneCategoria;
    
	private String contato;
	
    @OneToOne
	@JoinColumn(name="endereco_id")
	private Endereco endereco;
	
	private String email;
	
	@OneToMany
	@JoinTable(name="fornecedor_telefone",
			joinColumns=@JoinColumn(name="fornecedor_id"),
			inverseJoinColumns=@JoinColumn(name="telefone"))
    private  List<Telefone> telefones= new ArrayList<Telefone>();
	
    public Fornecedor() {
    }

    public Integer getForneId() {
        return this.forneId;
    }
    
    public void setForneId(Integer forneId) {
        this.forneId = forneId;
    }

    
    public String getForneFantasia() {
        return this.forneFantasia;
    }
    
    public void setForneFantasia(String forneFantasia) {
        this.forneFantasia = forneFantasia;
    }

    
    public String getForneCnpj() {
        return this.forneCnpj;
    }
    
    public void setForneCnpj(String forneCnpj) {
        this.forneCnpj = forneCnpj;
    }

    
    public String getForneCategoria() {
        return this.forneCategoria;
    }
    
    public void setForneCategoria(String forneCategoria) {
        this.forneCategoria = forneCategoria;
    }


	public Endereco getEndereco() {
		return endereco;
	}


	public void setEndereco(Endereco endereco) {
		this.endereco = endereco;
	}

	public String getEmail() {
		return email;
	}

	public void setEmail(String email) {
		this.email = email;
	}

	public List<Telefone> getTelefones() {
		return telefones;
	}

	public void setTelefones(List<Telefone> telefones) {
		this.telefones = telefones;
	}

	public String getContato() {
		return contato;
	}

	public void setContato(String contato) {
		this.contato = contato;
	}	
	
}


